查看原文
其他

多方安全计算知识点整理——比特承诺

无忧 隐私计算研习社 2024-01-09


0

目录

1. 比特承诺简介

2. 基于对称密码算法的比特承诺方案

3. 基于单向函数的比特承诺方案

4. Pederson承诺协议

1

比特承诺简介

比特承诺方案是密码协议的重要成分,广泛应用于电子拍卖、商业谈判、电子投票、电子现金和在线游戏等领域,还可以用于零知识证明、身份认证和安全多方计算协议等。


比特承诺方案(Bit Commitment Scheme)解决这样的问题:Alice向Bob承诺一个预测(比特值),直到一段时间之后才揭示着预测(比特值);在这期间,Alice不能改变自己的预测(比特值)。


比特承诺的一个直观例子:Alice 把消息 (承诺)放在一个箱子里(只有Alice有钥匙)并将它锁住送给Bob,等到 Alice 决定向 Bob证实消息 时,Alice把消息 及钥匙给 Bob,Bob 能够打开箱子并验证箱子里的消息同 Alice出示的消息是否相同,且Bob 确信箱子里的消息在他保管期间没有被篡改。


比特承诺包括两个阶段:

  • 承诺阶段:Alice选择一个要承诺的比特或比特序列 ,并把能表示该比特的消息 发送至Bob。 

  • 打开阶段:Alice把打开承诺的消息 与承诺 ,发送至Bob;Bob用 打开消息 ,验证 是否为A承诺的比特。


一个安全的比特承诺方案需满足以下两个性质:

  • 隐藏性:承诺阶段,接收方Bob不能得到发送方Alice承诺的比特值。一个承诺方案是完善隐蔽的,如果接收方不能从发送的消息中得到关于承诺的任何消息。 

  • 绑定性:给定承诺阶段的交互信息,接收者只能接受一个合法的承诺。即发送方不能在打开承诺的阶段改变自己承诺的比特。 


常见的比特承诺方案有基于对称密码算法的,基于单向函数的以及基于数学难解问题的,包括基于大数分解的与基于离散对数的等。

2

基于对称密码算法的比特承诺方案

承诺者Alice要向检验者Bob承诺 ,基于对称密码算法的比特承诺方案如下:

Alice 和 Bob 共同选定某种对称加密算法  


承诺阶段:

  • Bob产生一个随机比特串 并发送给 Alice 

  • Alice 随机选择一个密钥 ,利用对称加密算法 和需承诺的比特 加密得 ,最后将加密后的结果 发送给验证者 Bob 


打开阶段:

  • 当需要 Alice 公开承诺时,她将密钥 和承诺的比特 发送给 Bob 

  • Bob利用密钥 解密 ,并利用他的随机串 检验比特 的有效性

3

基于单向函数的比特承诺方案

承诺者Alice要向检验者Bob承诺 ,基于单向函数的比特承诺方案如下:

Alice和Bob共同选定一个单向函数 ,如Hash函数。

承诺阶段:

  • Alice生成两个随机数,计算单向函数值,并将散列结果和其中一个随机数,如 发送给Bob 


打开阶段:

  • 当Alice向Bob出示承诺 时,把承诺 和另一个随机数 一起发送给Bob 

  • Bob计算 的值,并与第(2)步收到的 值做比较,验证承诺 的有效性。


Alice通过发送随机数 做出承诺,也就是说散列值 和随机数 构成了Alice向Bob承诺的证据。

该协议的优点是Bob不必发送任何消息。


4

Pederson承诺协议

承诺者Alice要向检验者Bob承诺 ,Pederson的比特承诺方案如下:

系统参数: , 是大素数,且 , 满足中离散对数问题是难解的, 的本原元,随机数


承诺阶段:

  • Alice 选择需要承诺的消息比特串, 并生成随机数; 计算 作为对消息 的承诺,将 发送至 Bob。


打开阶段:

  • Alice将 发送至Bob;Bob通过收到的 打开承诺,验证 的计算是否与收到的承诺一致。如果一致,则认为承诺有效,否则无效。


本文作者:无忧

CSDN链接:

https://viper.blog.csdn.net/article/details/128448977

作者简介:无忧,毕业于北京邮电大学,目前就职于华为技术有限公司, 长期从事信息安全、密码学领域研究。


END

往期推荐


1.论文分享 | 基于LWE(Learning with Error)的高效联邦学习安全聚合
2.CVPR 2023 | 用「影子」模拟攻击者行为,提升系统安全性3.论文分享 | Le Mans: Dynamic and Fluid MPC for Dishonest Majority4.多方安全计算知识点整理——秘密分享


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存